Problem Solving with Python - Michael D. Smith, Victoria Albright